package com.rc.saas.tenant.model.member;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rc.saas.tenant.base.BaseModel;
import com.rc.saas.tenant.model.channel.RcChannelGainTypeConverter;
import com.rc.saas.tenant.model.device.IsDefaultConverter;
import com.rc.saas.tenant.model.device.RcLabelConverter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

public class RcMemberGainSetting extends BaseModel {
    @ExcelIgnore
    private Long memberGainId;

    @ExcelProperty(value = "所属会员等级",index = 1)
    private String memberLevel;

    @ExcelProperty(value = "所属会员子等级",index = 2)
    private String levelSub;
    @ExcelProperty(value = "权益名称",index = 0)
    private String gainName;

    @ExcelProperty(value = "权益类型",index = 6,converter = MemberGainTypeConverter.class)
    private String gainType;
    @ExcelIgnore
    private String gainLogo;

    @ExcelProperty(value = "权益说明",index = 3)
    private String gainExplain;

    @ExcelProperty(value = "排序",index = 7)
    private Integer sort;
    @ExcelIgnore
    private String remark;

    @ExcelProperty(value = "是否默认",index = 5,converter = IsDefaultConverter.class)
    private String isDefault;

    @ExcelProperty(value = "状态",index = 4,converter = RcLabelConverter.class)
    private String status;
    @ExcelIgnore
    private String createdBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private Date createdTime;
    @ExcelIgnore
    private String lastUpdatedBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private Date lastUpdatedTime;
    @ExcelIgnore
    private Integer refundCountTarget;
    @ExcelIgnore
    private Integer refundUnhandsel;
    @ExcelIgnore
    private String reliefType;
    @ExcelIgnore
    private Integer reliefFull;
    @ExcelIgnore
    private Integer reliefReduce;
    @ExcelIgnore
    private String consumeEnum;
    @ExcelIgnore
    private String handselEnum;
    @ExcelIgnore
    private String reliefEnum;
    @ExcelIgnore
    private String chargeRebateStr;
    @ExcelIgnore
    private String chargeHandselStr;
    @ExcelIgnore
    private String birthdayStr;
    @ExcelIgnore
    private Long ticketTypeId;

    public Long getTicketTypeId() {
        return ticketTypeId;
    }

    public void setTicketTypeId(Long ticketTypeId) {
        this.ticketTypeId = ticketTypeId;
    }

    public String getChargeRebateStr() {
        return chargeRebateStr;
    }

    public void setChargeRebateStr(String chargeRebateStr) {
        this.chargeRebateStr = chargeRebateStr;
    }

    public String getChargeHandselStr() {
        return chargeHandselStr;
    }

    public void setChargeHandselStr(String chargeHandselStr) {
        this.chargeHandselStr = chargeHandselStr;
    }

    public String getBirthdayStr() {
        return birthdayStr;
    }

    public void setBirthdayStr(String birthdayStr) {
        this.birthdayStr = birthdayStr;
    }

    public Long getMemberGainId() {
        return memberGainId;
    }

    public void setMemberGainId(Long memberGainId) {
        this.memberGainId = memberGainId;
    }

    public String getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(String memberLevel) {
        this.memberLevel = memberLevel;
    }

    public String getLevelSub() {
        return levelSub;
    }

    public void setLevelSub(String levelSub) {
        this.levelSub = levelSub;
    }

    public String getGainName() {
        return gainName;
    }

    public void setGainName(String gainName) {
        this.gainName = gainName;
    }

    public String getGainType() {
        return gainType;
    }

    public void setGainType(String gainType) {
        this.gainType = gainType;
    }

    public String getGainLogo() {
        return gainLogo;
    }

    public void setGainLogo(String gainLogo) {
        this.gainLogo = gainLogo;
    }

    public String getGainExplain() {
        return gainExplain;
    }

    public void setGainExplain(String gainExplain) {
        this.gainExplain = gainExplain;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getIsDefault() {
        return isDefault;
    }

    public void setIsDefault(String isDefault) {
        this.isDefault = isDefault;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }

    public Integer getRefundCountTarget() {
        return refundCountTarget;
    }

    public void setRefundCountTarget(Integer refundCountTarget) {
        this.refundCountTarget = refundCountTarget;
    }

    public Integer getRefundUnhandsel() {
        return refundUnhandsel;
    }

    public void setRefundUnhandsel(Integer refundUnhandsel) {
        this.refundUnhandsel = refundUnhandsel;
    }

    public String getReliefType() {
        return reliefType;
    }

    public void setReliefType(String reliefType) {
        this.reliefType = reliefType;
    }

    public Integer getReliefFull() {
        return reliefFull;
    }

    public void setReliefFull(Integer reliefFull) {
        this.reliefFull = reliefFull;
    }

    public Integer getReliefReduce() {
        return reliefReduce;
    }

    public void setReliefReduce(Integer reliefReduce) {
        this.reliefReduce = reliefReduce;
    }

    public String getConsumeEnum() {
        return consumeEnum;
    }

    public void setConsumeEnum(String consumeEnum) {
        this.consumeEnum = consumeEnum;
    }

    public String getHandselEnum() {
        return handselEnum;
    }

    public void setHandselEnum(String handselEnum) {
        this.handselEnum = handselEnum;
    }

    public String getReliefEnum() {
        return reliefEnum;
    }

    public void setReliefEnum(String reliefEnum) {
        this.reliefEnum = reliefEnum;
    }
}